*** Settings ***
Documentation  运行依赖步骤管理测试创建的步骤
Resource  ../流程层.robot
Suite Setup  进入步骤组管理页
Suite Teardown  关闭浏览器
Force Tags  回归测试

*** Variables ***
&{single}  name=单步骤组  doc=一个步骤  key=get
&{editSuit}  name=编辑组名  doc=编辑描述

*** Test Cases ***
单get步骤组创建正例
    # 点击创建按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div[1]/div/ul/li/button
    # 输入步骤组名称
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[1]/div/div/div/span/div/input
    ...  ${single}[name]
    # 输入描述
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[2]/div/div/div/span/div/input
    ...  ${single}[doc]
    # 输入步骤关键字检索
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[3]/div/div/input  ${single}[key]
    sleep  0.5
    # 勾选步骤
    点击元素
    ...  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[3]/div/div/div/div/div/label[1]/span[1]/span
    # 点击提交按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[2]/div/div/div/div/button[1]
    sleep  0.5
    # 获取文本进行断言
    ${text}  获取文本  xpath=/html/body/div[2]/div/div[2]/div[1]/div[2]/p/p[2]
    should be equal  ${text}  处理成功
    # 点击确定
    点击元素  xpath=/html/body/div[2]/div/div[3]/button

检索按钮测试
    [Documentation]  步骤组管理页检索按钮功能校验
    # 输入步骤名称
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${single}[name]
    # 输入描述
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[2]/div/div/span/div/input
    ...  ${single}[doc]
    # 点击检索按钮
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]
    # 获取检索结果中的步骤组名称
    ${nameText}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[1]/div/div/span/span
    ${docText}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[2]/div/div/span
    # 断言
    should be equal  ${nameText}  ${single}[name]
    should be equal  ${docText}  ${single}[doc]

编辑流程测试
    [Documentation]  用例包含编辑按钮、编辑页步骤检索、步骤勾选、提交按钮，提交接口返回结果校验，步骤组编码时间反显
    # 点击编辑按钮
    点击元素
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[6]/div/div/span/button[1]
    # 变更步骤组名称
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[1]/div/div/div/span/div/input
    ...  ${editSuit}[name]
    # 变更步骤组描述
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[2]/div/div/div/span/div/input
    ...  ${editSuit}[doc]
    # 筛选步骤检索
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[3]/div/div/input  ${single}[key]
    # 取消步骤勾选
    点击元素
    ...  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[3]/div/div/div/div/div/label[1]/span[1]/span
    # 提交
    点击元素  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[2]/div/div/div/div/button[1]
    sleep  0.5
    # 获取文本断言
    ${text}  获取文本  xpath=/html/body/div[2]/div/div[2]/div[1]/div[2]/p/p[2]
    should be equal  ${text}  处理成功
    # 点击确认
    点击元素  xpath=/html/body/div[2]/div/div[3]/button
    # 输入编辑后的步骤组名称检索
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${editSuit}[name]
    sleep  0.5
    # 检索结果校验
    ${text1}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[1]/div/div/span/span
    should be equal  ${text1}  ${editSuit}[name]
    # 编辑时间反显校验
    ${editTime}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[5]/div/div/span
    should not be empty  ${editTime}

清空检索内容按钮测试
    # 输入步骤组名称、描述
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${editSuit}[name]
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[2]/div/div/span/div/input
    ...  ${editSuit}[doc]
    sleep  0.5
    # 点击清空按钮
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[2]
    # 校验清空结果
    ${text1}  获取值  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ${text2}  获取值  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[2]/div/div/span/div/input
    should be empty  ${text1}
    should be empty  ${text2}

编辑页返回按钮测试
    # 输入步骤组名称检索
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${editSuit}[name]
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]
    # 点击编辑按钮
    点击元素
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[6]/div/div/span/button[1]
    # 修改步骤组名称
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[1]/div/div/div/span/div/input  修改步骤组名
    # 修改步骤组描述
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[2]/div/div/div/span/div/input  修改描述
    # 点击返回按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/button
    # 通过检索到的内容为原来的步骤组名称，判断返回按钮功能正常
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${editSuit}[name]
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]
    wait until element is visible  xpath=//span[text()='编辑组名']  5

编辑页重置按钮功能测试
    # 点击编辑按钮
    点击元素
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[6]/div/div/span/button[1]
    # 修改步骤组名称
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[1]/div/div/div/span/div/input  修改步骤组名
    # 修改步骤组描述
    输入文本  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[2]/div/div/div/span/div/input  修改描述
    # 点击重置按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[2]/div/div/div/div/button[2]
    # 判断是否为重置前的步骤组名称
    ${beforeText}  获取值  xpath=//*[@id="app"]/div/div/div[2]/div/div/form/div[1]/div[1]/div/div/div/span/div/input
    should be equal  ${beforeText}  ${editSuit}[name]
    # 点击返回按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/button

删除步骤组流程测试
    [Documentation]  步骤组删除按钮测试、取消删除、确定删除结果验证
    # 输入步骤组名称检索
    输入文本  xpath=//*[@id="app"]/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div[1]/div/div/span/div/input
    ...  ${editSuit}[name]
    点击元素  xpath=//*[@id="app"]/div/div[1]/div/div[2]/span/button[1]
    # 点击删除按钮
    点击元素
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[6]/div/div/span/button[2]
    sleep  0.5
    # 点击取消按钮判断步骤组是否还存在
    点击元素  xpath=/html/body/div[2]/div/div[3]/button[1]
    element should be visible  xpath=//span[text()='编辑组名']
    # 再次点击删除按钮
    点击元素
    ...  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/table/tbody/tr/td[6]/div/div/span/button[2]
    # 点击确定判断是否删除
    点击元素  xpath=/html/body/div[2]/div/div[3]/button[2]
    sleep  0.5
    ${text}  获取文本  xpath=/html/body/div[2]/div/div[2]/div[1]/div[2]/p/p[2]
    should be equal  ${text}  处理成功
    点击元素  xpath=/html/body/div[2]/div/div[3]/button
    ${resultText}  获取文本  xpath=//*[@id="app"]/div/div[2]/div[2]/div/div/div/div[1]/div[3]/div/span
    should be equal  ${resultText}  暂无数据